package com.cskaoyan._02use;

/**
 * @description:
 * @author: 景天
 * @date: 2023/1/30 17:12
 **/
/*
数组的初始化
1.静态初始化
    完成语法: 数据类型[] 数组名 = new 数据类型[]{元素1,元素2,.....}
    简化写法  数据类型[] 数组名 = {元素1,元素2.....}
2.动态初始化
    数据类型[] 数组名 = new 数据类型[数组长度]
    系统(JVM)会自动赋值 对于int数组来说,默认值是0,如果是引用数据类型,数组元素的默认值是null
    数组长度只能是正整数,理论上最大可以是int的最大值
new:
    new是一个关键字,代表在堆上分配空间,并去创建一个对象
 */
public class Demo2 {
    public static void main(String[] args) {
        // 静态初始化
        // 完整语法
        // 注意:数组里面必须放同种数据类型
        int[] arr = new int[]{1, 2, 3};

        // 简化写法 只要这一种方式
        int[] arr2 = {3, 4, 5};

        // 简化写法错误
        // 必须紧跟在声明后面
        //int[] arr3;
        //arr3 = {1, 2, 3};

        // 动态初始化
        int[] arr4 = new int[3];

        // 快捷键 使用.var
        String[] strings = new String[3];
        // 快捷键 alt+enter
        String[] strings1 = new String[4];

        // 经典错误 动静结合
        // 数组名 = new 数据类型[数组长度]{元素1,元素2,元素3...}
        // int[] arr5 = new int[4]{1, 2, 3, 4};
    }
}
